The invention concerns a method of transferring data packets between a plurality of network elements in a teletransmission network, wherein at least some data packets are transferred at a bit rate which depends on available network capacity. The packets, when arriving at a network element, are positioned in a plurality of input queues and are then transferred to at least one output queue. The invention moreover concerns a network element for use in such a teletransmission network.
A plurality of methods is known for the transfer of data packets between a plurality of network elements in a teletransmission network. An example of such a method is ATM (Asynchronous Transfer Mode). ATM is a packet technology which transfers data packets of a fixed, short length. In the ATM the data packets are called cells, and each cell consists of 53 bytes, of which 48 are used for information transfer proper, while 5 bytes are so-called header information used for controlling the transmission.
One of the advantages of the ATM and other corresponding technologies is that network capacity is occupied only in relation to the amounts of data which are actually transferred, as the system uses so-called virtual connections which are set up by transmitting a set-up request through the network to the desired destination.
The physical network itself, in which the data packets are transmitted, may e.g. be a fibre-optical network using PDH (Plesiochronous Digital Hierarchy) or SDH (Synchronous Digital Hierarchy). Also, a variety of physical media or protocols may be included within the same infrastructure.
A virtual ATM connection passes a plurality of network elements en route in the network from source to destination. The task of an ATM network element is to determine on the basis of the header information of a received ATM cell to which network element output the cell is to be passed, and then to perform this operation while updating the header information of the cell.
As ATM cells to a specific output on an ATM network element may come from many different inputs of the exchange, it may happen that the total instantaneous rate of these cells may exceed the capacity of the output. It is known e.g. from European Patent Application EP 680 180 to solve this problem by means of large buffers or queues capable of accommodating a brief overload of cells in the network element.
As it is precisely one of the advantages of the ATM and other corresponding systems that network capacity is occupied only in relation to the amounts of data which are actually transferred, and as data are typically transferred in xe2x80x9cbundlesxe2x80x9d, the network load will vary strongly. At some times the capacity is almost utilized fully, while at other times there will be a great surplus capacity. This opens up the possibility of offering a service called ABR (Available Bit Rate) which may be used for data insensitive to delays. These data are then transferred only in case of available capacity. If the capacity is suddenly occupied by data of higher priority (non-ABR data), the transmission is suspended or limited until there is available capacity again.
European Patent Application EP 678 997 discloses an ATM system capable of also handling ABR. A network element in this system has an input and an output module for each line in the network connected to the network element. The input modules include special storages or buffers which are specially intended for ABR traffic, a buffer or queue being provided for each output module. The system allocates capacity to these buffers only when all other traffic has been handled, and the transmission is interrupted again if the capacity is again needed for traffic of higher priority. When an input module has ABR traffic to an output module, an ABR request is transmitted to the output module, where it is registered in a resource allocator. When the output module has available capacity, the resource allocator transmits a signal to the input module concerned, and the ABR traffic is then transferred to the output module and further on the associated line in the network.
Although this solution is capable of handling ABR traffic in an ATM system, the internal communications in the network element are rather complex and thus expensive to implement. Further, as a result of inexpedient internal regulation of the ABR traffic, the buffers or queues used must be very long to avoid data losses, since arriving ABR cells are to be stored in these queues until the output module concerned has available capacity. Moreover, the system does not permit fair distribution of the available output module capacity to the arriving ABR traffic.
The international patent application WO 94/14266 discloses a system in which input queues as well as output queues are provided in a network element for e.g. ATM traffic, and in which transfer of data packets from an input queue to an output queue is blocked when the filling degree of the output queue exceeds a threshold value. The output queues are hereby protected against overfilling which would result in loss of data. This system, however, is vitiated by the serious drawback that transfer of data packets from a given input queue to a given output queue can only be entirely allowed or entirely blocked, and moreover the system cannot distinguish between e.g. ABR traffic and ordinary traffic of higher priority. This is a problem, because it is exclusively the filling of an output queue which determines whether one or more of the input queues are closed. Thus, it is not possible to give the arriving data packets different priorities, and the system involves the risk that an output queue is filled with ABR packets and is therefore closed to more important traffic. Furthermore, the circumstance that transfer of data packets from an input queue to an output queue can only be entirely allowed or entirely blocked, means that the data processing in the network element will be uneven.
Further, the system is arranged so as to stop transfer of data to an output queue when the filling degree of said queue exceeds an established threshold value, e.g. when it is half full; but this means that it is not possible to utilize the capacity of the queue fully as it will always have a plurality of empty locations. The system must therefore be provided with excessively large output queues. The same applies to the input queues as these are attached to the incoming physical connections, and data packets to be distributed to several different output connections may arrive on one incoming connection. If an input queue is closed because the xe2x80x9cfirstxe2x80x9d data packet in the queue is for an overfilled output queue, also the subsequent data packets will be shut off even though these are for other output queues which are not over-filled. In addition to greater input queues, this means that other traffic of higher priority may be unduly delayed.
The international patent application WO 95/15637, which addresses a somewhat different problem, discloses attaching an input queue to each virtual connection in a network element in a teletransmission network. This allows for the situation just described, where data packets for an overfilled output queue shut off data packets for other output queues; but this does not remedy the other described problems.
Accordingly, an object of the invention is to provide a method of the type stated in the opening paragraph which has a simpler and more efficient internal traffic regulation, and which is capable of reducing the length of the buffers or queues used. Further, the method must permit a fair distribution of the available capacity.
This is achieved according to the invention in that the data packets transferred at a bit rate depending on available network capacity are transferred from the input queues to at least one output queue provided specifically for those packets at a bit rate which is regulated in several steps by a factor which depends on the filling degree of the output queue.
When the bit rate from the input queues to the output queue is regulated in several steps in dependence on the filling degree of the output queue, a more even filling of the output queue is obtained, since, usually, the transfer is not interrupted completely. As, when an output queue is nearly full, data packets are still transferred from the input queues, merely at a lower bit rate, it will still be possible to have different priority for the different input queues and thus maintain a fair distribution of the available capacity, as mentioned below. Furthermore, a relatively short output queue may be used, as the regulation ensures that the number of data packets in the queue will be substantially constant. Further, the system will always be ready to transmit ABR traffic when capacity becomes available, because it will not have to first fetch the data packets from the input queues.
When, several output queues are used and the bit rate is regulated separately for each output queue, it is moreover possible to allow for variations in available capacity between the individual outputs. Typically, an output queue is used for each outgoing line from the network element.
The most expedient regulation is provided when the said factor is relatively stable, and this is achieved by currently calculating the factor on the basis of the mean value of the filling degree during a preceding time span. This is in contrast to WO 94/14266 where, instead, sampling of the filling degree takes place each time a data packet is transferred, which results in a more unstable regulation.
A further improvement of the method is achieved by moreover regulating the bit rate by a factor indicative of a mutual weighting of the input queues. As mentioned, this ensures a more fair distribution of the capacity which is available, as the proportion between the transmission rates of a plurality of input queues supplying data to the same output queue constantly has a mutual proportion determined by the allocated weights. This mutual proportion is maintained unchanged when the overall capacity of an output queue is reduced by means of the first factor as a consequence of the queue being full.
When e.g. an ATM system is involved, the data packets or the cells are transmitted via a large number of virtual connections in the network, and then a particularly flexible regulation is achieved, by using an input queue for each virtual connection arriving at the network element concerned, because the individual virtual connections may then be weighted separately without considering whether they perhaps arrive at the network element on the same physical line. This takes place in that each input queue has its own weight factor.
In case of sudden changes in the data amount it may occur that the output queue becomes full, without the regulation factor having been able to regulate the bit rate from the input queues down, since, as mentioned, averaging is performed over a period of time. This is avoided by then interrupting the transfer of data packets from the input queues completely. Data losses are hereby avoided in this situation.
In an expedient embodiment of the invention, the transmission network is an ATM network, and the said data packets, transferred at a bit rate depending on available capacity in the network, are formed by ABR traffic.
As mentioned, the invention moreover concerns a network element for use in such a transmission network. When the element comprises an output queue specifically provided for packets transferred at a bit rate depending on available network capacity and means for regulating the bit rate in several steps depending on the filling degree of this queue, the advantages described above are achieved. The invention may concern expedient embodiments of the element corresponding to the matter described above.
Such a network element typically comprises a switching unit, a plurality of input modules and a plurality of output modules, and in that case it is expedient to position the input queues on the input modules, because the large number will result in an unduly complex control if the input queues are provided in the switching unit itself, as is usually the case.
The output queue or queues may be positioned in the switching unit or, when an output queue is provided for each output module, be positioned on these.